/* eslint-disable indent */
// import parseTime, formatTime and set to filter
export {
  parseTime,
  formatTime
}
  from '@/utils'

export function imageUrl (val) {
  if (!val) {
    return val
  }
  if (val.startsWith('http')) {
    return val
  }
  if (process.env.NODE_ENV === 'development' || process.env.NODE_ENV === 'test') {
    return "https://amplify-ripper-dev-164345-deployment.s3.amazonaws.com/" + val
  } else if (process.env.NODE_ENV === 'production') {
    return "https://d3a6xk60zl13vm.cloudfront.net/" + val
  } else {
    return val
  }
}



export function contain (array, val) {
  for (var i = 0; i < array.length; i++) {
    if (array[i] == val) {
      return true;
    }
  }
  return false;
}

// a标签拼接href
export function filterHref (params, prefix) {
  return prefix + params
}

/**
 * @param {number} status 根据status判断审核状态
 */
export function filterCheckStatus (status) {
  switch (status) {
    case 0:
      return '其它'
    case 1:
      return '通过'
    case 2:
      return '拒绝'
    default:
      return `未知状态${status}`
  }
}

/**
 * Show plural label if time is plural number
 * @param {number} time
 * @param {string} label
 * @return {string}
 */
function pluralize (time, label) {
  if (time === 1) {
    return time + label
  }
  return time + label + 's'
}

/**
 * @param {number} time
 */
export function timeAgo (time) {
  const between = Date.now() / 1000 - Number(time)
  if (between < 3600) {
    return pluralize(~~(between / 60), ' minute')
  } else if (between < 86400) {
    return pluralize(~~(between / 3600), ' hour')
  } else {
    return pluralize(~~(between / 86400), ' day')
  }
}

/**
 * 获取两个日期相差的天数
 * @param {sDate1} sDate1
 * @param {sDate2} sDate2
 */
export function dateDifference (sDate1, sDate2) {
  let dateSpan, iDays
  sDate1 = Date.parse(sDate1)
  sDate2 = Date.parse(sDate2)
  dateSpan = sDate2 - sDate1
  dateSpan = Math.abs(dateSpan)
  iDays = Math.floor(dateSpan / (24 * 3600 * 1000))
  return iDays
}

/**
 * Number formatting
 * like 10000 => 10k
 * @param {number} num
 * @param {number} digits
 */
export function numberFormatter (num, digits) {
  const si = [{
    value: 1E18,
    symbol: 'E'
  },
  {
    value: 1E15,
    symbol: 'P'
  },
  {
    value: 1E12,
    symbol: 'T'
  },
  {
    value: 1E9,
    symbol: 'G'
  },
  {
    value: 1E6,
    symbol: 'M'
  },
  {
    value: 1E3,
    symbol: 'k'
  }
  ]
  for (let i = 0; i < si.length; i++) {
    if (num >= si[i].value) {
      return (num / si[i].value).toFixed(digits).replace(/\.0+$|(\.[0-9]*[1-9])0+$/, '$1') + si[i].symbol
    }
  }
  return num.toString()
}

/**
 * 10000 => "10,000"
 * @param {number} num
 */
export function toThousandFilter (num) {
  return (+num || 0).toString().replace(/^-?\d+/g, m => m.replace(/(?=(?!\b)(\d{3})+$)/g, ','))
}

/**
 * Upper case first char
 * @param {String} string
 */
export function uppercaseFirst (string) {
  return string.charAt(0).toUpperCase() + string.slice(1)
}

export function gender (gender) {
  const obj = {
    1: '男',
    2: '女',
    0: '未知'
  }
  return obj[gender]
}

export function filterVipType (type) {
  const typeObj = {
    '-1': '无',
    0: '白银',
    1: '黄金'
  }
  return typeObj[type]
}

export function filterAppType (type) {
  const typeObj = {
    0: '花伴',
    1: '花伴约会',
    2: '千千'
  }
  return typeObj[type]
}


const country = {
  // 16
  "AF": "阿富汗",
  "AL": "阿尔巴尼亚",
  "AD": "安道尔",
  "AO": "安哥拉",
  "AI": "安圭拉",
  "AG": "安提瓜和巴布达",
  "AE": "阿联酋",
  "AR": "阿根廷",
  "AM": "亚美尼亚",
  "AW": "阿鲁巴",
  "AU": "澳大利亚",
  "AT": "奥地利",
  "AZ": "阿塞拜疆",
  "AQ": "南极洲",
  "AS": "美属萨摩亚",
  "AX": "奥兰群岛",
  // 21
  "BA": "波黑",
  "BS": "巴哈马",
  "BH": "巴林",
  "BD": "孟加拉国",
  "BB": "巴巴多斯",
  "BY": "白俄罗斯",
  "BE": "比利时",
  "BZ": "伯利兹",
  "BJ": "贝宁",
  "BM": "百慕大",
  "BT": "不丹",
  "BO": "玻利维亚",
  "BQ": "荷兰加勒比区",
  "BW": "博茨瓦纳",
  "BV": "布维岛",
  "BR": "巴西",
  "BN": "文莱",
  "BG": "保加利亚",
  "BF": "布基纳法索",
  "BI": "布隆迪",
  "BL": "圣巴泰勒米岛",
  //18
  "CA": "加拿大",
  "CC": "科科斯群岛",
  "CF": "中非共和国",
  "CN": "中国大陆",
  "CG": "刚果",
  "CK": "库克群岛",
  "CD": "民主刚果",
  "CI": "科特迪瓦",
  "CH": "瑞士",
  "CL": "智利",
  "CM": "喀麦隆",
  "CO": "哥伦比亚",
  "CR": "哥斯达黎加",
  "CU": "古巴",
  "CV": "佛得角",
  "CX": "圣诞岛",
  "CY": "塞浦路斯",
  "CZ": "捷克共和国",
  //6
  "DE": "德国",
  "DJ": "吉布提",
  "DK": "丹麦",
  "DM": "多米尼加",
  "DO": "多明尼加共和国",
  "DZ": "阿尔及利亚",
  //7
  "EC": "厄瓜多尔",
  "EG": "埃及",
  "ER": "厄立特里亚",
  "EE": "爱沙尼亚",
  "ET": "埃塞俄比亚",
  "EH": "西撒哈拉",
  "ES": "西班牙",
  //6
  "FK": "福克兰群岛",
  "FO": "法罗群岛",
  "FJ": "斐济",
  "FI": "芬兰",
  "FR": "法国",
  "FM": "密克罗尼西亚联邦",
  //19
  "GA": "加蓬",
  "GD": "格林纳达",
  "GB": "英国",
  "GE": "格鲁吉亚共和国",
  "GF": "法属圭亚那",
  "GH": "加纳",
  "GI": "直布罗陀",
  "GL": "格陵兰岛",
  "GN": "几内亚",
  "GM": "冈比亚",
  "GG": "根西岛",
  "GP": "瓜德罗普岛",
  "GQ": "赤道几内亚",
  "GR": "希腊",
  "GS": "南乔治亚岛和南威奇群岛",
  "GT": "危地马拉",
  "GU": "关岛",
  "GW": "几内亚比绍",
  "GY": "圭亚那",
  //6
  "HK": "中国香港",
  "HM": "赫德岛和麦克唐纳群岛",
  "HR": "克罗地亚",
  "HT": "海地",
  "HN": "洪都拉斯",
  "HU": "匈牙利",
  //10
  "ID": "印度尼西亚",
  "IE": "爱尔兰",
  "IL": "以色列",
  "IM": "马恩岛",
  "IN": "印度",
  "IO": "英属印度洋领地",
  "IQ": "伊拉克",
  "IR": "伊朗",
  "IS": "冰岛",
  "IT": "意大利",
  //4 113
  "JE": "泽西岛",
  "JM": "牙买加",
  "JO": "约旦",
  "JP": "日本",
  //11
  "KH": "柬埔寨",
  "KI": "基里巴斯",
  "KM": "科摩罗",
  "KW": "科威特",
  "KY": "开曼群岛",
  "KZ": "哈萨克斯坦",
  "KE": "肯尼亚",
  "KG": "吉尔吉斯斯坦",
  "KN": "圣基茨和尼维斯",
  "KP": "朝鲜",
  "KR": "韩国",
  //11
  "LA": "老挝",
  "LB": "黎巴嫩",
  "LC": "圣卢西亚",
  "LI": "列支敦士登",
  "LK": "斯里兰卡",
  "LR": "利比里亚",
  "LS": "莱索托",
  "LT": "立陶宛",
  "LU": "卢森堡",
  "LV": "拉脱维亚",
  "LY": "利比亚",
  //23 158
  "MA": "摩洛哥",
  "MC": "摩纳哥",
  "MD": "摩尔多瓦共和国",
  "ME": "黑山",
  "MF": "法属圣马丁",
  "MG": "马达加斯加",
  "MH": "马绍尔群岛",
  "MK": "马其顿",
  "ML": "马里",
  "MM": "缅甸",
  "MO": "澳门",
  "MQ": "马提尼克",
  "MR": "毛里塔尼亚",
  "MS": "蒙塞拉特岛",
  "MT": "马耳他",
  "MV": "马尔代夫",
  "MW": "马拉维",
  "MX": "墨西哥",
  "MY": "马来西亚",
  "MU": "毛里求斯",
  "MN": "蒙古",
  "MP": "北马里亚纳群岛",
  "MZ": "莫桑比克",
  //12 170
  "NA": "纳米比亚",
  "NE": "尼日尔",
  "NF": "诺福克岛",
  "NG": "尼日利亚",
  "NI": "尼加拉瓜",
  "NL": "荷兰",
  "NO": "挪威",
  "NP": "尼泊尔",
  "NR": "瑙鲁",
  "NC": "新喀里多尼亚",
  "NZ": "新西兰",
  "NU": "纽埃",
  //1
  "OM": "阿曼",
  //14 185
  "PA": "巴拿马",
  "PE": "秘鲁",
  "PF": "法属波利尼西亚",
  "PG": "巴布亚新几内亚",
  "PH": "菲律宾",
  "PK": "巴基斯坦",
  "PL": "波兰",
  "PM": "圣皮埃尔和密克隆",
  "PN": "皮特凯恩群岛",
  "PR": "波多黎各",
  "PS": "巴勒斯坦",
  "PW": "帕劳",
  "PY": "巴拉圭",
  "PT": "葡萄牙",
  //1
  "QA": "卡塔尔",
  //5 191
  "RE": "留尼汪",
  "RO": "罗马尼亚",
  "RS": "塞尔维亚",
  "RU": "俄罗斯联邦",
  "RW": "卢旺达",
  //21 212 + 36 248
  "SA": "沙特阿拉伯",
  "SB": "所罗门群岛",
  "SC": "塞舌尔",
  "SD": "苏丹",
  "SE": "瑞典",
  "SG": "新加坡",
  "SI": "斯洛文尼亚",
  "SJ": "斯瓦尔巴特群岛",
  "SK": "斯洛伐克",
  "SL": "塞拉利昂",
  "SM": "圣马力诺",
  "SN": "塞内加尔",
  "SO": "索马里",
  "SR": "苏里南",
  "SS": "南苏丹",
  "ST": "圣多美和普林西比",
  "SV": "萨尔瓦多",
  "SY": "叙利亚",
  "SZ": "斯威士兰",
  "SH": "圣赫勒拿",
  // "SU": "苏联",
  //16
  "TC": "特克斯和凯科斯群岛",
  "TD": "乍得",
  "TG": "多哥",
  "TF": "法属南部领地",
  "TH": "泰国",
  "TK": "托克劳",
  "TL": "东帝汶",
  "TN": "突尼斯",
  "TO": "汤加",
  "TR": "土耳其",
  "TV": "图瓦卢",
  "TZ": "坦桑尼亚",
  "TW": "中国台湾",
  "TJ": "塔吉克斯坦",
  "TT": "特立尼达和多巴哥",
  "TM": "土库曼斯坦",
  //6
  "UA": "乌克兰",
  "UG": "乌干达",
  "US": "美利坚合众国",
  "UY": "乌拉圭",
  "UZ": "乌兹别克斯坦",
  "UM": "美国边疆小岛",
  //7
  "VA": "梵蒂冈",
  "VE": "委内瑞拉",
  "VG": "英属维尔京群岛",
  "VI": "美属维尔京群岛",
  "VN": "越南",
  "VC": "圣文森特和格林纳丁斯",
  "VU": "瓦努阿图",
  //2
  "WS": "萨摩亚",
  "WF": "瓦利斯和富图纳",
  //2
  "YE": "也门",
  "YT": "马约特",
  //3
  "ZM": "赞比亚",
  "ZW": "津巴布韦",
  "ZA": "南非"
}

export function getCountryItem () {
  return country
}

export function countryCode (type) {
  return country[type]
}
